A digital computer system typically includes a memory for storing instructions (collectively said to constitute a "program") and operands (collectively constituting "data") to be operated upon by the instructions. It typically also includes means for fetching the instructions from memory, decoding them, fetching from memory the operands called for by the instructions, performing upon the operands the operations called for by the instructions, and storing the modified operands back in memory.
Some of the operations called for by the instructions may be arithmetic operations, requiring two operands to be added or multiplied, one to be subtracted from the other, or one to be divided into the other.
A memory unit typically has a certain number of bits that it can store and retrieve in a single operation, commonly known as the "word size" of the memory. The data paths ("buses" and registers) within the computer system typically are provided to handle the same word size. Typical word sizes are sixteen or thirty-two bits.
For most efficient operation of a computer system, operand size should be limited to the word size; however, such an approach might not suit the needs of the user. Therefore, many computer systems have provision for performing computations on operands that must be stored and passed around the system in several words.
The machine of the present invention performs numerical calculations on operands up to 63 digits in length. Most often, numbers do not actually contain nearly so many digits, and might thus have a large number of leading zeros. In the prior art, calculations would be performed on all digits of the operands, although the calculations in such operations as add and subtract have no effect on those digit positions where both operands contain leading zeros. Thus, computation time may be wasted.
It is thus a general object of the present invention to provide improved digital computer systems.
It is a particular object of the present invention to increase the efficiency of the arithmetic elements of computer systems.
It is a more particular object of the present invention to provide arithmetic elements of computer system with the capability to skip calculation on portions of operands containing leading zeros.